from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '臂铠精通'
    所在等级 = 1
    等级上限 = 1
    基础等级 = 1
    关联技能 = ['无']
    冷却关联技能 = ['膝击', '抛投', '野蛮冲撞', '无情摔击', '空绞锤', '霹雳旋踢', '浮空凌云踢',
              '疾波猛坠', '地狱风火轮', '裂石破天', '彗星冲击', '武莲华', '黑震旋风', '疾风闪电', '黑震流·殒灭']

    def CD缩减倍率(self, 武器类型):
        if 武器类型 == '臂铠':
            return 0.9
        else:
            return 1.0


class 技能1(主动技能):
    名称 = '膝击'
    所在等级 = 5
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [20, 168]
    data0 = [0, 302, 333, 363, 394, 425, 454, 484, 515, 545, 577, 607, 638, 667, 699, 729, 760, 792, 822, 853, 883, 913, 943, 975, 1006, 1036, 1066, 1098, 1127, 1158, 1188, 1221, 1251, 1281, 1312, 1342, 1373, 1404, 1435, 1464, 1496, 1526, 1557, 1586, 1619, 1650, 1680, 1710, 1740, 1772, 1801, 1833, 1863, 1895, 1924, 1955, 1985, 2016, 2048, 2078, 2109, 2139, 2170, 2200, 2231, 2261, 2293, 2323, 2354, 2383, 2414]
    hit0 = 2
    data1 = [0, 1529, 1685, 1839, 1994, 2149, 2305, 2461, 2616, 2773, 2927, 3083, 3237, 3393, 3548, 3703, 3859, 4012, 4168, 4324, 4480, 4635, 4790, 4946, 5099, 5255, 5410, 5566, 5721, 5878, 6032, 6186, 6342, 6498, 6654, 6809, 6964, 7119, 7273, 7429, 7584, 7739, 7894, 8050, 8204, 8359, 8515, 8669, 8826, 8982, 9138, 9293, 9448, 9602, 9757, 9913, 10068, 10224, 10378, 10533, 10688, 10843, 11000, 11155, 11311, 11464, 11620, 11775, 11930, 12087, 12243]
    hit1 = 1
    CD = 5.0
    TP成长 = 0.10
    TP上限 = 7


class 技能2(被动技能):
    名称 = '摔技强化'
    所在等级 = 15
    等级上限 = 20
    学习间隔 = 3
    等级精通 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.0 + 0.02 * self.等级, 5)


class 技能3(主动技能):
    名称 = '抛投'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [20, 168]
    data0 = [0, 1367, 1508, 1646, 1786, 1923, 2063, 2201, 2339, 2480, 2618, 2758, 2895, 3036, 3174, 3313, 3451, 3590, 3728, 3868, 4007, 4146, 4284, 4423, 4563, 4703, 4840, 4980, 5118, 5257, 5395, 5536, 5673, 5813, 5951, 6090, 6228, 6368, 6507, 6645, 6784, 6924, 7064, 7202, 7340, 7480, 7617, 7757, 7896, 8036, 8173, 8313, 8451, 8589, 8729, 8868, 9008, 9146, 9285, 9425, 9563, 9702, 9840, 9980, 10117, 10258, 10396, 10535, 10673, 10813, 10950]
    hit0 = 1
    data1 = [0, 2158, 2375, 2595, 2814, 3034, 3252, 3471, 3690, 3910, 4127, 4348, 4566, 4787, 5002, 5222, 5441, 5661, 5879, 6099, 6318, 6538, 6755, 6975, 7194, 7414, 7632, 7852, 8071, 8290, 8507, 8728, 8946, 9165, 9384, 9604, 9820, 10041, 10259, 10480, 10697, 10917, 11136, 11356, 11572, 11792, 12011, 12229, 12449, 12668, 12888, 13105, 13325, 13544, 13764, 13982, 14202, 14420, 14641, 14856, 15077, 15295, 15515, 15733, 15953, 16171, 16391, 16609, 16829, 17048, 17268]
    hit1 = 1
    CD = 7.0
    TP成长 = 0.10
    TP上限 = 7


class 技能4(被动技能):
    名称 = '连环抓取'
    所在等级 = 20
    等级上限 = 11
    学习间隔 = 5
    等级精通 = 1

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            # 默认高阶
            return round(1.36 + 0.02 * self.等级, 5)


class 技能5(主动技能):
    名称 = '野蛮冲撞'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [50, 420]
    data0 = [0, 3499, 3854, 4209, 4563, 4920, 5274, 5630, 5983, 6339, 6694, 7048, 7405, 7758, 8115, 8469, 8825, 9179, 9533, 9890, 10245, 10600, 10955, 11309, 11663, 12020, 12376, 12731, 13084, 13439, 13795, 14150, 14505, 14859, 15214, 15571, 15925, 16281, 16634, 16990, 17346, 17702, 18056, 18409, 18765, 19119, 19476, 19831, 20186, 20540, 20895, 21251, 21606, 21960, 22315, 22671, 23027, 23382, 23735, 24090, 24445, 24800, 25157, 25511, 25866, 26221, 26576, 26932, 27285, 27642, 27996]
    hit0 = 1
    data1 = [0, 2098, 2312, 2525, 2739, 2950, 3165, 3377, 3591, 3803, 4017, 4229, 4443, 4654, 4868, 5081, 5294, 5507, 5722, 5934, 6147, 6358, 6573, 6785, 6997, 7211, 7424, 7637, 7850, 8065, 8276, 8490, 8702, 8916, 9129, 9342, 9554, 9769, 9981, 10193, 10405, 10620, 10833, 11046, 11260, 11473, 11685, 11898, 12111, 12324, 12537, 12749, 12962, 13176, 13390, 13602, 13816, 14028, 14241, 14453, 14668, 14880, 15093, 15306, 15520, 15731, 15945, 16159, 16372, 16585, 16798]
    hit1 = 1
    CD = 8.0
    TP成长 = 0.10
    TP上限 = 7


class 技能6(主动技能):
    名称 = '无情摔击'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [50, 420]
    data0 = [0, 5151, 5672, 6196, 6717, 7242, 7764, 8285, 8809, 9331, 9855, 10377, 10899, 11422, 11944, 12467, 12989, 13512, 14036, 14557, 15079, 15604, 16125, 16648, 17170, 17692, 18216, 18737, 19261, 19784, 20305, 20828, 21351, 21874, 22397, 22919, 23441, 23964, 24486, 25009, 25532, 26055, 26577, 27099, 27621, 28145, 28668, 29189, 29712, 30236, 30758, 31281, 31803, 32325, 32848, 33370, 33894, 34416, 34939, 35461, 35983, 36507, 37029, 37551, 38074, 38596, 39119, 39641, 40163, 40688, 41209]
    hit0 = 1
    CD = 8.0
    TP成长 = 0.10
    TP上限 = 7


class 技能7(主动技能):
    名称 = '空绞锤'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [50, 420]
    data0 = [0, 4794, 5278, 5765, 6250, 6736, 7222, 7709, 8195, 8680, 9166, 9654, 10138, 10626, 11111, 11598, 12085, 12570, 13057, 13541, 14029, 14515, 15001, 15486, 15973, 16459, 16947, 17432, 17917, 18404, 18890, 19377, 19862, 20349, 20833, 21322, 21807, 22293, 22780, 23266, 23753, 24238, 24724, 25210, 25698, 26182, 26670, 27154, 27641, 28128, 28613, 29101, 29585, 30073, 30559, 31045, 31530, 32016, 32503, 32990, 33475, 33961, 34446, 34934, 35421, 35906, 36392, 36880, 37365, 37851, 38337]
    hit0 = 1
    CD = 7.0
    TP成长 = 0.10
    TP上限 = 7


class 技能8(主动技能):
    名称 = '霹雳旋踢'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [50, 420]
    data0 = [0, 6862, 7559, 8254, 8951, 9647, 10344, 11039, 11734, 12434, 13128, 13825, 14520, 15216, 15916, 16609, 17308, 18001, 18698, 19394, 20090, 20788, 21482, 22179, 22876, 23572, 24270, 24966, 25661, 26356, 27052, 27747, 28447, 29143, 29838, 30534, 31232, 31928, 32622, 33321, 34014, 34714, 35409, 36103, 36801, 37496, 38194, 38891, 39584, 40283, 40979, 41676, 42372, 43065, 43764, 44459, 45157, 45851, 46549, 47246, 47941, 48638, 49332, 50031, 50726, 51422, 52119, 52815, 53512, 54207, 54903]
    hit0 = 1
    CD = 12.0
    TP成长 = 0.10
    TP上限 = 7


class 技能9(主动技能):
    名称 = '浮空凌云踢'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [0, 2464, 2715, 2964, 3214, 3464, 3714, 3965, 4215, 4465, 4715, 4965, 5214, 5464, 5716, 5966, 6216, 6466, 6715, 6966, 7215, 7466, 7717, 7967, 8213, 8464, 8714, 8964, 9215, 9466, 9715, 9965, 10214, 10465, 10715, 10965, 11217, 11465, 11715, 11966, 12216, 12466, 12716, 12965, 13217, 13466, 13716, 13967, 14217, 14467, 14716, 14967, 15218, 15468, 15717, 15967, 16216, 16466, 16717, 16967, 17217, 17468, 17717, 17966, 18217, 18468, 18718, 18968, 19218, 19468, 19718]
    hit0 = 1
    data1 = [0, 4436, 4886, 5336, 5785, 6236, 6688, 7138, 7586, 8037, 8486, 8937, 9387, 9838, 10287, 10737, 11186, 11637, 12089, 12538, 12988, 13438, 13889, 14337, 14788, 15238, 15688, 16138, 16588, 17040, 17490, 17939, 18389, 18839, 19290, 19739, 20189, 20639, 21089, 21538, 21990, 22441, 22889, 23340, 23790, 24241, 24690, 25142, 25590, 26041, 26489, 26939, 27391, 27841, 28291, 28741, 29191, 29642, 30093, 30542, 30993, 31441, 31890, 32341, 32793, 33242, 33692, 34143, 34592, 35042, 35494]
    hit1 = 1
    data2 = [0, 2956, 3257, 3558, 3856, 4158, 4458, 4758, 5058, 5357, 5657, 5957, 6257, 6559, 6858, 7158, 7457, 7758, 8059, 8358, 8658, 8959, 9259, 9558, 9858, 10160, 10459, 10758, 11058, 11358, 11659, 11959, 12259, 12560, 12860, 13158, 13458, 13758, 14060, 14362, 14659, 14960, 15259, 15560, 15862, 16159, 16460, 16760, 17059, 17360, 17660, 17961, 18262, 18559, 18860, 19159, 19461, 19762, 20060, 20361, 20662, 20960, 21262, 21561, 21861, 22163, 22461, 22761, 23061, 23362, 23662]
    hit2 = 1
    CD = 15.0
    TP成长 = 0.10
    TP上限 = 5

    MP = [105, 882]
    无色消耗 = 1


class 技能10(主动技能):
    名称 = '疾波猛坠'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [0, 5840, 6432, 7026, 7616, 8210, 8804, 9396, 9988, 10580, 11171, 11764, 12357, 12949, 13544, 14137, 14727, 15321, 15914, 16504, 17098, 17690, 18284, 18876, 19468, 20063, 20653, 21243, 21839, 22429, 23023, 23615, 24209, 24802, 25393, 25985, 26578, 27169, 27765, 28357, 28950, 29542, 30137, 30726, 31318, 31912, 32504, 33096, 33689, 34283, 34876, 35466, 36059, 36652, 37242, 37837, 38428, 39022, 39615, 40208, 40801, 41393, 41984, 42577, 43170, 43763, 44355, 44946, 45540, 46133, 46726]
    hit0 = 1
    data1 = [0, 735, 813, 886, 961, 1034, 1110, 1186, 1260, 1334, 1408, 1482, 1557, 1636, 1709, 1778, 1860, 1933, 2006, 2082, 2155, 2232, 2307, 2380, 2455, 2529, 2603, 2677, 2751, 2829, 2902, 2978, 3054, 3127, 3205, 3277, 3351, 3426, 3501, 3576, 3651, 3723, 3797, 3873, 3949, 4024, 4098, 4175, 4248, 4324, 4398, 4473, 4548, 4622, 4693, 4772, 4844, 4920, 4997, 5071, 5146, 5219, 5294, 5369, 5443, 5518, 5593, 5668, 5742, 5817, 5892]
    hit1 = 6
    CD = 15.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [124, 1041]
    无色消耗 = 1

    形态 = ["地面", "空中"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "地面":
            self.hit0 = 1
            self.hit1 = 6
            if '疾波猛坠' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 7
                self.power1 = 2.36
            else:
                形态 = "空中"
        if 形态 == "空中":
            self.hit0 = 1
            self.hit1 = 6
            if '疾波猛坠' in char.护石栏:
                self.power0 = 1.39
                self.power1 = 1.39

    def 装备护石(self, char):
        pass


class 技能11(主动技能):
    名称 = '地狱风火轮'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [0, 3273, 3605, 3937, 4269, 4601, 4932, 5265, 5595, 5930, 6261, 6593, 6925, 7257, 7588, 7921, 8253, 8585, 8917, 9249, 9582, 9914, 10245, 10578, 10910, 11242, 11574, 11907, 12238, 12571, 12900, 13235, 13566, 13897, 14230, 14561, 14894, 15225, 15557, 15889, 16222, 16553, 16887, 17218, 17551, 17882, 18214, 18546, 18879, 19209, 19543, 19873, 20207, 20538, 20870, 21202, 21535, 21866, 22199, 22531, 22863, 23195, 23526, 23859, 24192, 24523, 24856, 25188, 25520, 25852, 26185]
    hit0 = 1
    power0 = 1
    data1 = [0, 1934, 2131, 2325, 2523, 2719, 2913, 3110, 3306, 3504, 3699, 3895, 4091, 4287, 4485, 4681, 4877, 5073, 5267, 5465, 5662, 5858, 6053, 6249, 6447, 6643, 6837, 7035, 7231, 7429, 7624, 7818, 8015, 8211, 8409, 8604, 8800, 8997, 9192, 9390, 9586, 9783, 9978, 10173, 10370, 10566, 10761, 10959, 11155, 11352, 11547, 11744, 11940, 12134, 12333, 12529, 12725, 12920, 13115, 13314, 13510, 13707, 13902, 14097, 14295, 14490, 14688, 14883, 15078, 15275, 15471]
    hit1 = 1
    power1 = 1
    data2 = [0, 5206, 5736, 6263, 6791, 7320, 7848, 8376, 8904, 9432, 9960, 10489, 11019, 11545, 12073, 12602, 13130, 13659, 14186, 14714, 15242, 15771, 16301, 16827, 17356, 17885, 18411, 18941, 19468, 19999, 20526, 21053, 21583, 22110, 22638, 23167, 23693, 24223, 24751, 25281, 25808, 26336, 26865, 27392, 27920, 28449, 28976, 29505, 30034, 30561, 31090, 31619, 32147, 32674, 33204, 33731, 34259, 34788, 35316, 35845, 36372, 36901, 37430, 37956, 38486, 39014, 39541, 40070, 40601, 41128, 41656]
    hit2 = 1
    power2 = 1
    data3 = [0, 4463, 4914, 5368, 5821, 6274, 6727, 7180, 7632, 8085, 8538, 8990, 9442, 9897, 10347, 10802, 11256, 11707, 12160, 12614, 13065, 13518, 13971, 14424, 14877, 15328, 15782, 16235, 16687, 17140, 17593, 18044, 18499, 18951, 19404, 19858, 20310, 20762, 21214, 21668, 22121, 22572, 23028, 23479, 23932, 24385, 24838, 25290, 25744, 26195, 26648, 27102, 27555, 28007, 28461, 28912, 29366, 29817, 30271, 30724, 31176, 31629, 32083, 32535, 32989, 33441, 33894, 34346, 34799, 35251, 35704]
    hit3 = 1
    power3 = 1
    CD = 25.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [188, 1579]
    无色消耗 = 1

    def 装备护石(self, char):
        self.power2 = 1.52
        self.power3 = 1.52


class 技能12(主动技能):
    名称 = '裂石破天'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [0, 11616, 12795, 13972, 15152, 16329, 17508, 18689, 19866, 21045, 22222, 23402, 24580, 25757, 26938, 28115, 29294, 30471, 31652, 32830, 34008, 35188, 36365, 37544, 38721, 39901, 41079, 42258, 43438, 44616, 45794, 46971, 48151, 49329, 50507, 51686, 52865, 54044, 55221, 56401, 57579, 58757, 59936, 61114, 62293, 63472, 64650, 65830, 67007, 68186, 69364, 70542, 71722, 72900, 74079, 75256, 76435, 77614, 78792, 79972, 81150, 82329, 83506, 84685, 85863, 87042, 88220, 89400, 90579, 91756, 92935]
    hit0 = 0
    data1 = [0, 8122, 8946, 9771, 10596, 11418, 12245, 13068, 13891, 14715, 15542, 16365, 17187, 18010, 18837, 19662, 20484, 21307, 22134, 22957, 23781, 24607, 25431, 26254, 27077, 27902, 28728, 29551, 30373, 31198, 32023, 32847, 33672, 34494, 35320, 36144, 36968, 37790, 38616, 39439, 40264, 41089, 41913, 42736, 43560, 44385, 45211, 46036, 46856, 47681, 48505, 49330, 50155, 50977, 51803, 52627, 53451, 54273, 55099, 55922, 56747, 57569, 58396, 59219, 60042, 60866, 61693, 62517, 63339, 64165, 64989]
    hit1 = 1
    data2 = [0, 16032, 17656, 19284, 20911, 22537, 24163, 25788, 27416, 29043, 30669, 32296, 33922, 35548, 37174, 38801, 40428, 42054, 43681, 45306, 46933, 48560, 50186, 51814, 53438, 55064, 56692, 58319, 59945, 61570, 63196, 64825, 66450, 68077, 69703, 71329, 72955, 74582, 76209, 77836, 79462, 81087, 82714, 84342, 85968, 87592, 89219, 90847, 92474, 94099, 95726, 97352, 98978, 100606, 102232, 103858, 105485, 107110, 108736, 110364, 111990, 113617, 115241, 116869, 118496, 120122, 121749, 123374, 125001, 126628, 128256]
    hit2 = 1
    CD = 40.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [320, 2688]
    无色消耗 = 2

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 1
        if 形态 == "抓取":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0

    def 装备护石(self, char):
        self.倍率 *= 1.28


class 技能13(被动技能):
    名称 = '力之奥义'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能14(主动技能):
    名称 = '死亡旋律'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [0, 55190, 67994, 80788, 93591, 106392, 119191, 131989, 144787, 186305, 201437, 216567, 231695, 246833, 261963, 277097, 292225, 307359, 322489, 337619, 352750, 367884, 383014, 398146, 413278, 428412, 443542, 458674, 473803, 488933, 504068, 519198, 534332, 549461, 564593, 579724, 594855, 609986, 625120, 640246, 655383, 670510, 685645, 700775, 715907, 731038, 746172, 761301, 776433, 791566, 806697]
    hit0 = 1
    data1 = [0, 2861, 3526, 4192, 4856, 5518, 6184, 6847, 7511, 8177, 8838, 9504, 10167, 10831, 11495, 12159, 12823, 13487, 14153, 14815, 15478, 16143, 16806, 17470, 18137, 18801, 19465, 20128, 20790, 21456, 22121, 22783, 23448, 24113, 24776, 25441, 26104, 26767, 27432, 28097, 28760, 29424, 30088, 30751, 31416, 32080, 32745, 33409, 34071, 34737, 35400]
    hit1 = 0
    data2 = [0, 13361, 16461, 19560, 22659, 25757, 28859, 31955, 35055, 38153, 41253, 44352, 47450, 50547, 53646, 56747, 59844, 62946, 66040, 69140, 72240, 75337, 78435, 81537, 84634, 87734, 90833, 93931, 97031, 100129, 103228, 106324, 109426, 112524, 115623, 118722, 121819, 124920, 128017, 131115, 134216, 137316, 140413, 143510, 146610, 149707, 152806, 155906, 159005, 162107, 165204]
    hit2 = 0
    data3 = [0, 37345, 46007, 54669, 63328, 71987, 80650, 89314, 97969, 106632, 115291, 123955, 132609, 141273, 149934, 158596, 167255, 175912, 184575, 193234, 201894, 210558, 219218, 227875, 236536, 245200, 253857, 262521, 271180, 279838, 288502, 297162, 305821, 314483, 323142, 331802, 340464, 349125, 357784, 366446, 375106, 383765, 392428, 401088, 409747, 418407, 427069, 435732, 444390, 453051, 461710]
    hit3 = 0
    CD = 145.0

    MP = [900, 7560]
    无色消耗 = 5

    形态 = ["空中", "地面"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 0
        if 形态 == "地面":
            self.hit0 = 0
            self.hit1 = 7
            self.hit2 = 1
            self.hit3 = 1

    def 等效百分比(self, **argv):
        if self.等级 >= 6:
            self.power0 = 1.05
            self.power3 = 1.1
        return super().等效百分比(**argv)


class 技能15(主动技能):
    名称 = '彗星冲击'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [0, 19360, 21324, 23288, 25253, 27219, 29180, 31147, 33110, 35075, 37039, 39004, 40966, 42932, 44897, 46859, 48824, 50788, 52753, 54716, 56681, 58644, 60610, 62572, 64537, 66501, 68464, 70430, 72395, 74358, 76321, 78287, 80250, 82215, 84178, 86143, 88107, 90072, 92034, 94000, 95965, 97927, 99893, 101857, 103820, 105784, 107750, 109712, 111677, 113640, 115606]
    hit0 = 1
    CD = 25.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [280, 784]
    无色消耗 = 1

    def 装备护石(self, char):
        self.CDR *= 0.88
        self.倍率 *= 1.09


class 技能16(主动技能):
    名称 = '武莲华'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [0, 7407, 8156, 8911, 9660, 10411, 11166, 11915, 12668, 13420, 14173, 14920, 15674, 16424, 17176, 17930, 18679, 19428, 20181, 20934, 21687, 22439, 23191, 23942, 24694, 25444, 26194, 26945, 27696, 28449, 29204, 29956, 30705, 31457, 32206, 32958, 33714, 34462, 35212, 35965, 36716, 37469, 38220, 38971, 39724, 40474, 41227, 41979, 42730, 43481, 44231]
    hit0 = 2
    data1 = [0, 1850, 2028, 2220, 2408, 2595, 2784, 2974, 3155, 3346, 3531, 3720, 3909, 4092, 4280, 4470, 4656, 4839, 5030, 5215, 5404, 5592, 5777, 5965, 6155, 6342, 6526, 6713, 6901, 7090, 7274, 7464, 7651, 7837, 8027, 8215, 8397, 8586, 8777, 8962, 9150, 9343, 9524, 9708, 9901, 10085, 10272, 10461, 10648, 10838, 11024]
    hit1 = 12
    data2 = [0, 11105, 12234, 13361, 14491, 15616, 16743, 17868, 18997, 20125, 21249, 22375, 23503, 24629, 25757, 26883, 28014, 29141, 30266, 31395, 32522, 33652, 34777, 35905, 37029, 38157, 39285, 40412, 41537, 42664, 43791, 44918, 46043, 47175, 48300, 49428, 50553, 51680, 52807, 53932, 55060, 56188, 57312, 58440, 59568, 60693, 61823, 62946, 64075, 65202, 66328]
    hit2 = 1
    CD = 45.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [756, 1587]
    无色消耗 = 2

    def 装备护石(self, char):
        self.hit0 = 4
        self.power0 *= 1.5
        self.hit1 = 0
        self.倍率 *= 1.07
        self.CDR *= 0.9


class 技能17(主动技能):
    名称 = '黑震旋风'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [0, 10192, 11225, 12261, 13295, 14327, 15362, 16395, 17431, 18465, 19497, 20532, 21565, 22601, 23635, 24668, 25702, 26737, 27771, 28804, 29838, 30874, 31907, 32941, 33974, 35008, 36044, 37077, 38111, 39144, 40178, 41214, 42248, 43283, 44314, 45348, 46384, 47418, 48453, 49484, 50519, 51554, 52588, 53622, 54655, 55690, 56724, 57757, 58792, 59826, 60860]
    hit0 = 1
    data1 = [0, 3956, 4357, 4761, 5160, 5562, 5964, 6366, 6766, 7168, 7570, 7970, 8373, 8774, 9176, 9576, 9978, 10381, 10780, 11183, 11583, 11987, 12386, 12789, 13189, 13591, 13993, 14394, 14796, 15197, 15598, 16000, 16402, 16803, 17204, 17606, 18007, 18409, 18809, 19213, 19612, 20015, 20416, 20816, 21219, 21621, 22022, 22422, 22824, 23225, 23627]
    hit1 = 5
    data2 = [0, 26713, 29421, 32133, 34842, 37552, 40262, 42973, 45681, 48394, 51103, 53814, 56523, 59234, 61943, 64653, 67364, 70077, 72784, 75495, 78206, 80914, 83627, 86337, 89046, 91757, 94467, 97176, 99887, 102598, 105306, 108017, 110727, 113436, 116147, 118857, 121566, 124278, 126988, 129697, 132408, 135118, 137829, 140538, 143249, 145960, 148669, 151380, 154090, 156799, 159510]
    hit2 = 1
    CD = 40.0
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 3

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能18(被动技能):
    名称 = '傲天之怒'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能19(主动技能):
    名称 = '疾风闪电'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [0, 36355, 40044, 43736, 47423, 51107, 54798, 58484, 62173, 65864, 69550, 73240, 76927, 80614, 84306, 87994, 91684, 95369, 99057, 102745, 106433, 110123, 113813, 117499, 121190, 124877, 128567, 132252, 135943, 139633, 143316, 147005, 150697, 154382, 158071, 161762, 165449, 169135, 172823, 176516, 180203, 183891, 187580, 191267, 194956, 198644, 202332, 206021, 209710, 213397, 217087]
    hit0 = 1
    data1 = [0, 28718, 31629, 34540, 37455, 40367, 43283, 46192, 49106, 52018, 54933, 57847, 60758, 63674, 66588, 69504, 72411, 75331, 78241, 81154, 84065, 86981, 89888, 92805, 95717, 98634, 101543, 104459, 107373, 110285, 113196, 116112, 119025, 121936, 124852, 127766, 130680, 133593, 136505, 139417, 142332, 145244, 148158, 151071, 153984, 156897, 159810, 162724, 165637, 168551, 171464]
    hit1 = 1
    data2 = [0, 19084, 21023, 22961, 24896, 26834, 28768, 30704, 32641, 34582, 36510, 38448, 40386, 42323, 44260, 46196, 48136, 50067, 52004, 53945, 55881, 57818, 59755, 61690, 63622, 65560, 67498, 69435, 71371, 73309, 75242, 77179, 79116, 81054, 82989, 84924, 86858, 88798, 90735, 92673, 94608, 96544, 98480, 100417, 102353, 104290, 106227, 108162, 110099, 112035, 113972]
    hit2 = 0
    data3 = [0, 12724, 14015, 15307, 16599, 17890, 19180, 20473, 21761, 23051, 24341, 25634, 26928, 28213, 29506, 30794, 32088, 33381, 34670, 35959, 37251, 38542, 39835, 41124, 42417, 43707, 45000, 46292, 47580, 48872, 50161, 51454, 52741, 54033, 55326, 56617, 57909, 59196, 60488, 61780, 63071, 64361, 65652, 66943, 68236, 69525, 70817, 72107, 73399, 74690, 75980]
    hit3 = 0
    data4 = [0, 31816, 35043, 38269, 41495, 44721, 47953, 51174, 54401, 57630, 60855, 64083, 67313, 70543, 73766, 76995, 80222, 83447, 86675, 89903, 93128, 96355, 99587, 102814, 106040, 109267, 112496, 115721, 118947, 122176, 125403, 128630, 131855, 135084, 138314, 141542, 144770, 147997, 151223, 154454, 157679, 160905, 164132, 167359, 170585, 173814, 177042, 180268, 183495, 186723, 189950]
    hit4 = 0
    CD = 45.0
    是否有护石 = 1

    MP = [800, 6000]
    无色消耗 = 5

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 1
            self.hit3 = 1
            self.hit4 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.35


class 技能20(主动技能):
    名称 = '一字传承：极义震天破'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [0, 40871, 50349, 59823, 69305, 78777, 88258, 97735, 107214, 116691, 126168, 135646, 145122, 154600, 164077, 173555, 183031, 192508, 201987, 211463, 220942, 230421, 239895, 249374, 258852, 268328, 277806, 287285, 296760, 306239, 315716, 325193, 334669, 344149, 353623, 363103, 372583, 382057, 391538, 401012, 410490, 419968, 429446, 438922, 448399, 457878, 467353, 476832, 486310, 495787, 505265]
    hit0 = 1
    data1 = [0, 3143, 3870, 4601, 5328, 6059, 6788, 7517, 8248, 8974, 9707, 10434, 11163, 11892, 12621, 13352, 14077, 14807, 15536, 16267, 16997, 17723, 18453, 19181, 19910, 20640, 21369, 22096, 22826, 23558, 24283, 25016, 25743, 26475, 27202, 27931, 28663, 29388, 30118, 30846, 31577, 32306, 33034, 33763, 34492, 35221, 35950, 36680, 37409, 38138, 38867]
    hit1 = 13
    data2 = [0, 75671, 93218, 110768, 128315, 145863, 163407, 180956, 198499, 216046, 233596, 251142, 268688, 286236, 303787, 321331, 338881, 356430, 373976, 391523, 409066, 426617, 444165, 461712, 479262, 496806, 514354, 531898, 549449, 566995, 584541, 602092, 619636, 637182, 654730, 672280, 689827, 707371, 724919, 742463, 760014, 777560, 795109, 812657, 830204, 847752, 865297, 882845, 900392, 917940, 935487]
    hit2 = 1
    CD = 185.0

    MP = [2500, 5000]
    无色消耗 = 10


class 技能21(主动技能):
    名称 = '黑震流·殒灭'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [0, 6129, 6750, 7372, 7993, 8616, 9239, 9859, 10481, 11104, 11726, 12347, 12968, 13592, 14213, 14835, 15455, 16079, 16700, 17321, 17942, 18565, 19188, 19809, 20431, 21053, 21675, 22296, 22918, 23541, 24163, 24784, 25407, 26025, 26650, 27269, 27892, 28513, 29136, 29757, 30377, 31001, 31624, 32245, 32866, 33489, 34111, 34731, 35355, 35976, 36598]
    hit0 = 1
    data1 = [0, 9705, 10687, 11674, 12658, 13642, 14625, 15612, 16595, 17581, 18565, 19550, 20534, 21519, 22503, 23488, 24473, 25458, 26441, 27427, 28411, 29395, 30377, 31366, 32348, 33333, 34317, 35303, 36286, 37271, 38257, 39241, 40224, 41210, 42194, 43179, 44164, 45148, 46133, 47118, 48102, 49086, 50069, 51055, 52040, 53024, 54009, 54993, 55978, 56963, 57947]
    hit1 = 10
    data2 = [0, 19410, 21375, 23348, 25315, 27284, 29251, 31225, 33191, 35160, 37129, 39101, 41068, 43038, 45006, 46977, 48946, 50916, 52882, 54853, 56822, 58792, 60756, 62731, 64697, 66665, 68634, 70606, 72573, 74542, 76512, 78482, 80449, 82420, 84390, 86358, 88327, 90297, 92266, 94236, 96203, 98173, 100139, 102108, 104080, 106049, 108018, 109987, 111956, 113925, 115894]
    hit2 = 1
    CD = 60.0

    MP = [960, 7200]
    无色消耗 = 7

    形态 = ["空中", "突进"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            self.hit0 = 1
            self.hit1 = 10
            self.hit2 = 1
        if 形态 == "突进":
            self.hit0 = 1
            self.hit1 = 12
            self.hit2 = 0


class 技能22(被动技能):
    名称 = '神怡气静'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '黑震流·山岳崩颓'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [0, 21304, 26243, 31183, 36125, 41064, 46005, 50946, 55886, 60826, 65766, 70707, 75647, 80587, 85527, 90467, 95409, 100350, 105290, 110230, 115170, 120110, 125050, 129990, 134929, 139870, 144809, 149751, 154690, 159632, 164571, 169513, 174454, 179393, 184334, 189273, 194214, 199153, 204095, 209034, 213976, 218915, 223856, 228796, 233736, 238676, 243616, 248556, 253496, 258438, 263379]
    hit0 = 1
    data1 = [0, 42610, 52490, 62370, 72251, 82131, 92012, 101892, 111771, 121651, 131534, 141416, 151296, 161176, 171056, 180937, 190817, 200697, 210578, 220457, 230338, 240220, 250100, 259980, 269862, 279742, 289623, 299503, 309384, 319265, 329144, 339027, 348906, 358786, 368666, 378546, 388427, 398309, 408189, 418069, 427950, 437831, 447712, 457592, 467472, 477352, 487233, 497115, 506995, 516875, 526755]
    hit1 = 1
    data2 = [0, 63914, 78734, 93554, 108377, 123196, 138018, 152840, 167659, 182480, 197300, 212124, 226943, 241763, 256584, 271405, 286226, 301048, 315869, 330689, 345508, 360330, 375152, 389971, 404793, 419614, 434434, 449255, 464075, 478896, 493716, 508539, 523361, 538180, 553001, 567820, 582642, 597463, 612285, 627106, 641926, 656748, 671568, 686388, 701210, 716029, 730851, 745670, 760492, 775314, 790133]
    hit2 = 2
    data3 = [0, 85218, 104980, 124740, 144501, 164264, 184025, 203784, 223547, 243307, 263069, 282830, 302591, 322353, 342113, 361873, 381636, 401397, 421156, 440918, 460679, 480442, 500203, 519962, 539723, 559484, 579246, 599009, 618769, 638528, 658290, 678052, 697813, 717574, 737333, 757095, 776858, 796618, 816379, 836141, 855900, 875662, 895423, 915183, 934946, 954707, 974467, 994228, 1013990, 1033751, 1053511]
    hit3 = 1
    data4 = [0, 149132, 183716, 218299, 252877, 287461, 322044, 356624, 391207, 425789, 460370, 494954, 529534, 564116, 598698, 633279, 667860, 702444, 737026, 771607, 806190, 840772, 875353, 909934, 944516, 979100, 1013680, 1048262, 1082846, 1117428, 1152008, 1186592, 1221173, 1255753, 1290336, 1324918, 1359500, 1394081, 1428664, 1463244, 1497827, 1532410, 1566990, 1601573, 1636154, 1670736, 1705319, 1739902, 1774482, 1809065, 1843647]
    hit4 = 1
    CD = 290

    MP = [4025, 8055]
    无色消耗 = 15

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 2
            self.hit3 = 1
            self.hit4 = 1
        if 形态 == "抓取":
            self.hit0 = 2
            self.hit1 = 2
            self.hit2 = 1
            self.hit3 = 1
            self.hit4 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'grappler_male'
        self.名称 = '归元·柔道家'
        self.角色 = '格斗家(男)'
        self.角色类型 = '输出'
        self.职业 = '柔道家'
        # 用来筛CP武器的
        self.转职 = '柔道家(男)'
        self.武器选项 = ['臂铠', '手套', '东方棍', '爪']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '臂铠'
        self.防具类型 = '轻甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.08

        super().__init__(equVersion)
